<template>
   <div>
      <ul>
          <li v-for="m in messageList" :key="m.id">
            <!-- 跳转路由并携带params参数，to的字符串写法 -->
            <!-- <router-link :to="`/home/message/detail/${m.id}/${m.title}`">{{m.title}}</router-link> -->
          
           <!-- 跳转路由并携带params参数，to的对象写法 使用这种写法时必须用name，不能用path会报错-->
            <!-- <router-link :to="{
                name:'detail',
                params:{
                    id:m.id,
                    title:m.title
                }
            }">
                {{m.title}}
            </router-link> -->
            
            <!-- query写法验证 -->
            <router-link :to="{
                name:'detail',
                query:{
                    id:m.id,
                    title:m.title
                }
            }">
                {{m.title}}
            </router-link>
            <button @click="pushShow(m)">push查看</button>
            <button @click="replaceShow(m)">replace查看</button>
          </li>
      </ul>
      <hr/>
      <router-view></router-view>
  </div>
</template>

<script>
export default {
    name:'Message',
    data(){
        return{
            messageList:[
                {id:'001',title:'消息001'},
                {id:'002',title:'消息002'},
                {id:'003',title:'消息003'},
            ]
        }
    },
    methods:{
        //代替router-link（最终转换为a标签）,当我们不用a标签时怎么跳转路由传递参数。可以借助下方代码$router.push和$router.replace
        pushShow(m){
            this.$router.push({
                name:'detail',
                query:{
                    id:m.id,
                    title:m.title
                }
            })
        },
        replaceShow(m){
            this.$router.replace({
                name:'detail',
                query:{
                    id:m.id,
                    title:m.title
                }
            })
        }
    }
}
</script>

<style>

</style>